package controlador;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

import vista.VistaFinalizarJuego;
import vista.VistaMenuPrincipal;
import vista.VistaPoliciaViajar;
import modelo.Juego;


public class ControlPoliciaViajar implements ActionListener{

	private VistaPoliciaViajar vista;
	private Juego juego;
	
	public ControlPoliciaViajar(VistaPoliciaViajar vista, Juego juego){
		this.vista = vista;
		this.juego = juego;
		actionListener(this);
	}
	private void actionListener(ActionListener escuchador) {
        for(int i=0;i < vista.getCantidadDeCiudades() ; i++){
        	vista.getBotones().get(i).addActionListener(escuchador);
        }
	}
	@Override
	public void actionPerformed(ActionEvent e) {
		for(int i=0;i < vista.getCantidadDeCiudades() ; i++){
			if(e.getSource()==vista.getBotones().get(i)){	
				vista.setearDatosRectaADibujar(juego,vista,i);
				VistaMenuPrincipal.obtenerInstancia().getPanelLugarTiempo().setearVistaPoliciaViajar(vista);
				juego.getPolicia().viajar(vista.getCiudadesAOfrecer().get(i));
				if ((new File("InfoCiudades.xml")).exists()){
					VistaMenuPrincipal.obtenerInstancia().setearPanelInformacionPais(juego.getPolicia().getCiudadActual().getNombre());
					}
				}
			}
	    if (juego.casoFinalizado()){
	    	VistaFinalizarJuego vistaGanarJuego= new VistaFinalizarJuego(juego);
	    	VistaMenuPrincipal.obtenerInstancia().setearPanelAMostrarSuperiorDerecho("vistaFinalizarJuego");
		    VistaMenuPrincipal.obtenerInstancia().setearPanelAMostrarInferiorIzquierdo("vistaImagenLadron");;
	    	new ControlFinalizarJuego(vistaGanarJuego,juego);
	    }
	}
}
